project memberをグループ分けして、必要なUserScriptだけを有効化する
自分のページに設定を書く
code:script.js
window.KCS = {
role: 'SV'
};
各scriptで設定を読み込む
code:js
requestAnimationFrame(() => {
if (window.KCS.role === 'SV') {
// SVの時だけ実行する
}
})
使用例
オペレーターが編集したら自動的にレビュー待ちタグを付けるUserScript
レビューしましたボタンUserScript
requestAnimationFrameを使う理由
javascriptはES Modulesのimport文を全てに優先して実行してしまう為
hoisting
例えば
code:js
window.KCS = {role: 'SV'};
import 'path/to/script.js';
という風にimport文の方が下に書かれていても
import文が先に実行されてしまう